package com.css.zfzx.fwsjcj.modules.user.entity;

import javax.persistence.*;
import java.io.Serializable;
import java.util.Date;
import java.util.Objects;

@Entity
@Table(name = "fw_user", schema = "fwsjcj")
public class FwUserEntity implements Serializable {
    private static final long serialVersionUID = -107596655865209888L;
    /**
     *主键ID
     */
    private String id;
    /***
     * 用户等级
     */

    private String userLevel;
    /**
     * 用户名
     */
    private String userName;
    /***
     * 密码
     */
    private String pwd;
    /**
     * 用户类型
     */
    private String userType;
    /***
     *联系方式
     */
    private String mobilePhone;
    /**
     * 真实姓名
     */
    private String relName;
    /**
     * 省份证号
     */
    private String idNumber;
    /**
     * 所属单位
     */
    private String unit;
    /**
     * 行政区划
     */
    private String division;
    /**
     * 有效标识0、无效，1、有效
     */
    private String isValid;
    /***
     *审核0是未审核，1是已审核，2注销
     */
    private String status;
    /***
     * 创建人
     */
    private String createUser;
    /***
     * 创建时间
     */
    private Date createTime;
    /**
     * 更新人
     */
    private String updateUser;
    /**
     * 更新时间
     */
    private Date updateTime;
    /***
     * base用户表Id;
     */
    private String baseUserId;
    /***
     * 所属机构Id
     */
    private String orgId;
    /***
     * 用户地址
     */
    private String userAddress;
    @Id
    @Column(name = "id")
    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    @Basic
    @Column(name = "user_level")
    public String getUserLevel() {
        return userLevel;
    }

    public void setUserLevel(String userLevel) {
        this.userLevel = userLevel;
    }

    @Basic
    @Column(name = "user_name")
    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    @Basic
    @Column(name = "pwd")
    public String getPwd() {
        return pwd;
    }

    public void setPwd(String pwd) {
        this.pwd = pwd;
    }

    @Basic
    @Column(name = "user_type")
    public String getUserType() {
        return userType;
    }

    public void setUserType(String userType) {
        this.userType = userType;
    }

    @Basic
    @Column(name = "mobile_phone")
    public String getMobilePhone() {
        return mobilePhone;
    }

    public void setMobilePhone(String mobilePhone) {
        this.mobilePhone = mobilePhone;
    }

    @Basic
    @Column(name = "rel_name")
    public String getRelName() {
        return relName;
    }

    public void setRelName(String relName) {
        this.relName = relName;
    }

    @Basic
    @Column(name = "id_number")
    public String getIdNumber() {
        return idNumber;
    }

    public void setIdNumber(String idNumber) {
        this.idNumber = idNumber;
    }

    @Basic
    @Column(name = "unit")
    public String getUnit() {
        return unit;
    }

    public void setUnit(String unit) {
        this.unit = unit;
    }

    @Basic
    @Column(name = "division")
    public String getDivision() {
        return division;
    }

    public void setDivision(String division) {
        this.division = division;
    }

    @Basic
    @Column(name = "is_valid")
    public String getIsValid() {
        return isValid;
    }

    public void setIsValid(String isValid) {
        this.isValid = isValid;
    }

    @Basic
    @Column(name = "status")
    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    @Basic
    @Column(name = "create_user")
    public String getCreateUser() {
        return createUser;
    }

    public void setCreateUser(String createUser) {
        this.createUser = createUser;
    }

    @Basic
    @Column(name = "create_time")
    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    @Basic
    @Column(name = "update_user")
    public String getUpdateUser() {
        return updateUser;
    }

    public void setUpdateUser(String updateUser) {
        this.updateUser = updateUser;
    }

    @Basic
    @Column(name = "update_time")
    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    @Basic
    @Column(name = "base_user_Id")
    public String getBaseUserId() {
        return baseUserId;
    }

    public void setBaseUserId(String baseUserId) {
        this.baseUserId = baseUserId;
    }
    @Basic
    @Column(name = "org_id")
    public String getOrgId() {
        return orgId;
    }

    public void setOrgId(String orgId) {
        this.orgId = orgId;
    }
    @Basic
    @Column(name = "user_address")
    public String getUserAddress() {
        return userAddress;
    }

    public void setUserAddress(String userAddress) {
        this.userAddress = userAddress;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        FwUserEntity that = (FwUserEntity) o;
        return Objects.equals(id, that.id) &&
                Objects.equals(userLevel, that.userLevel) &&
                Objects.equals(userName, that.userName) &&
                Objects.equals(pwd, that.pwd) &&
                Objects.equals(userType, that.userType) &&
                Objects.equals(mobilePhone, that.mobilePhone) &&
                Objects.equals(relName, that.relName) &&
                Objects.equals(idNumber, that.idNumber) &&
                Objects.equals(unit, that.unit) &&
                Objects.equals(division, that.division) &&
                Objects.equals(isValid, that.isValid) &&
                Objects.equals(status, that.status) &&
                Objects.equals(createUser, that.createUser) &&
                Objects.equals(createTime, that.createTime) &&
                Objects.equals(updateUser, that.updateUser) &&
                Objects.equals(updateTime, that.updateTime) &&
                Objects.equals(baseUserId, that.baseUserId) &&
                Objects.equals(orgId, that.orgId) &&
                Objects.equals(userAddress, that.userAddress);
    }

    @Override
    public int hashCode() {
        return Objects.hash(id, userLevel, userName, pwd, userType, mobilePhone, relName, idNumber, unit, division, isValid, status, createUser, createTime, updateUser, updateTime, baseUserId, orgId, userAddress);
    }
}
